package day06;
//方法
public class MethodDemo {
    public static void main(String[] args) {
        say();
        //sayHi();编译错误，有参则必须传参
        //sayHi(132);编译错误，参数类型必须匹配
        sayHi("小明");//---实参
        sayHi("老徐");
        sayHello("老王",33);//---实参
        sayHello("小蓝",82);
        System.out.println("继续执行");

        aMethod();
        System.out.println(444);//111,333,222,444

        double a = getNum();//getNum()的值就是return后的那个数
        System.out.println(a);//8.88---模拟对返回值的后续操作

        int b = plus(5,2,22);//---实参
        System.out.println(b);//32---模拟对返回值的后续操作

        int m = 6,u = 8,i = 2;
        int c = plus(m,i,u);
        System.out.println(c);

        int[] q = testArray(6,80);
        System.out.println("数组的长度为:"+q.length);
        for (int o=0;o<q.length;o++){
            System.out.println(q[o]);
        }
        int[] e = testArray(8,60);
        System.out.println("第一个元素的值为:"+e[0]);
        for (int w=0;w<e.length;w++){//---模拟对返回值的后续操作
            System.out.println(e[w]);
        }
    }
    //无参无返回值
    public static void say(){
        System.out.println("大家好,我叫小李，今年28岁了");
    }
    //有参无返回值
    public static void sayHi(String name){//---形参
        System.out.println("大家好，我叫:"+name+",今年20岁了");
    }
    //有参无返回值
    public static void sayHello(String name,int age){//---形参
        if (age>60){//在某种特定条件下，提前结束方法
            return;//结束方法的执行
        }
        System.out.println("大家好，我叫:"+name+"，今年"+age+"岁了");
    }
    public static void aMethod(){
        System.out.println(111);
        bMethod();
        System.out.println(222);
    }
    public static void bMethod(){
        System.out.println(333);
    }

    //
    public static int[] testArray(int len,int max){
        int[] arr = new int[len];
        for (int i=0;i<arr.length;i++){
            arr[i] = (int)((Math.random()*(max+1)));
        }
        return arr;
    }

    /*
    //无参有返回值
    public static int[] testArray(){
        int[] arr = new int[10];
        for (int i=0;i<arr.length;i++){
            arr[i] = (int)(Math.random()*100);
        }
        return arr;
    }

     */
    //有参有返回值
    public static int plus(int num1,int num2,int num6){
        int num = num1*num2+num6;
        return num;//返回的是num里的那个数
        //return num1+num2；//返回的是num1与num2的和
    }
    //无参有返回值
    public static double getNum(){
        //在有返回值的方法中，必须通过return来返回数据
        //return；//编译错误，return后必须跟一个数据
        //return"abc"//编辑错误，return后数据的类型必须与返回值类型匹配
        return 8.88;//1.结束方法的执行  2.返回结果给调用方
    }

}
